package com.vrv.app.cyberspace.modules.sys.entity;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 
 * </p>
 *
 * @author sm
 * @since 2018-01-18
 */
@TableName("EVENT_TABLE")
public class EventTable extends Model<EventTable> {

    private static final long serialVersionUID = 1L;

	@TableId("baseID")
	private Integer baseID;
    /**
     * 初判事件类型一级事件
     */
	@NotNull(message="primaryEventTypeFirst不能为空")
	private Integer primaryEventTypeFirst;
    /**
     * 初判事件类型二级事件
     */
	@NotNull(message="primaryEventTypeSecond不能为空")
	private Integer primaryEventTypeSecond;
    /**
     * 初判事件等级  【注：特别重大/重大/较大/一般/其他】
     */
	@NotNull(message="primaryEventGrade不能为空")
	private Integer primaryEventGrade;
    /**
     * 传真
     */
	private String fax;
    /**
     * 反馈截止时间
     */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
	private Date feedBackUpToTime;
    /**
     * 关联风险
     */
	private String associatedRisk;
    /**
     * 事发单位及系统功能描述
     */
	@NotNull(message="unitSystemDescription不能为空")
	private String unitSystemDescription;
    /**
     * 事态发展概述及初判原因
     */
	@NotNull(message="primaryJudgment不能为空")
	private String primaryJudgment;
    /**
     * 已采取的措施和效果
     */
	private String measureToken;
    /**
     * 请求事项及工作建议
     */
	private String itemsAdvise;
    /**
     * 备注
     */
	private String remarks;
    /**
     * 附件
     */
	private String enclosure;
    /**
     * 影响及危害描述
     */
	private String influenceHarm;
    /**
     * 地域表IDs
     */
	private String regionIDs;
    /**
     * 行业IDs
     */
	private String industryIDs;
    /**
     * 基础设施IDs
     */
	private String infrastructureIDs;

	@TableField(exist = false)
	private List<InfrastructureInformationTable> infrastructureList;

	@TableField(exist = false)
	private List<IndustryTable> industryList;

	@TableField(exist = false)
	private String industryListString;

	@TableField(exist = false)
	private List<RegionTable> regionList;

	@TableField(exist = false)
	private String regionListString;

	@TableField(exist = false)
	private EventTypeTable firstEventType;

	@TableField(exist = false)
	private EventTypeTable secondEventType;

	@TableField(exist = false)
	private List<AttachmentTable> attachmentList;


	public Integer getBaseID() {
		return baseID;
	}

	public void setBaseID(Integer baseID) {
		this.baseID = baseID;
	}

	public Integer getPrimaryEventTypeFirst() {
		return primaryEventTypeFirst;
	}

	public void setPrimaryEventTypeFirst(Integer primaryEventTypeFirst) {
		this.primaryEventTypeFirst = primaryEventTypeFirst;
	}

	public Integer getPrimaryEventTypeSecond() {
		return primaryEventTypeSecond;
	}

	public void setPrimaryEventTypeSecond(Integer primaryEventTypeSecond) {
		this.primaryEventTypeSecond = primaryEventTypeSecond;
	}

	public Integer getPrimaryEventGrade() {
		return primaryEventGrade;
	}

	public void setPrimaryEventGrade(Integer primaryEventGrade) {
		this.primaryEventGrade = primaryEventGrade;
	}

	public String getFax() {
		return fax;
	}

	public void setFax(String fax) {
		this.fax = fax;
	}

	public Date getFeedBackUpToTime() {
		return feedBackUpToTime;
	}

	public void setFeedBackUpToTime(Date feedBackUpToTime) {
		this.feedBackUpToTime = feedBackUpToTime;
	}

	public String getAssociatedRisk() {
		return associatedRisk;
	}

	public void setAssociatedRisk(String associatedRisk) {
		this.associatedRisk = associatedRisk;
	}

	public String getUnitSystemDescription() {
		return unitSystemDescription;
	}

	public void setUnitSystemDescription(String unitSystemDescription) {
		this.unitSystemDescription = unitSystemDescription;
	}

	public String getPrimaryJudgment() {
		return primaryJudgment;
	}

	public void setPrimaryJudgment(String primaryJudgment) {
		this.primaryJudgment = primaryJudgment;
	}

	public String getMeasureToken() {
		return measureToken;
	}

	public void setMeasureToken(String measureToken) {
		this.measureToken = measureToken;
	}

	public String getItemsAdvise() {
		return itemsAdvise;
	}

	public void setItemsAdvise(String itemsAdvise) {
		this.itemsAdvise = itemsAdvise;
	}

	public String getRemarks() {
		return remarks;
	}

	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}

	public String getEnclosure() {
		return enclosure;
	}

	public void setEnclosure(String enclosure) {
		this.enclosure = enclosure;
	}

	public String getInfluenceHarm() {
		return influenceHarm;
	}

	public void setInfluenceHarm(String influenceHarm) {
		this.influenceHarm = influenceHarm;
	}

	public String getRegionIDs() {
		return regionIDs;
	}

	public void setRegionIDs(String regionIDs) {
		this.regionIDs = regionIDs;
	}

	public String getIndustryIDs() {
		return industryIDs;
	}

	public void setIndustryIDs(String industryIDs) {
		this.industryIDs = industryIDs;
	}

	public String getInfrastructureIDs() {
		return infrastructureIDs;
	}

	public void setInfrastructureIDs(String infrastructureIDs) {
		this.infrastructureIDs = infrastructureIDs;
	}

	public List<InfrastructureInformationTable> getInfrastructureList() {
		return infrastructureList;
	}

	public void setInfrastructureList(List<InfrastructureInformationTable> infrastructureList) {
		this.infrastructureList = infrastructureList;
	}

	public List<IndustryTable> getIndustryList() {
		return industryList;
	}

	public void setIndustryList(List<IndustryTable> industryList) {
		this.industryList = industryList;
	}

	public String getIndustryListString() {
		return industryListString;
	}

	public void setIndustryListString(String industryListString) {
		this.industryListString = industryListString;
	}

	public List<RegionTable> getRegionList() {
		return regionList;
	}

	public void setRegionList(List<RegionTable> regionList) {
		this.regionList = regionList;
	}

	public String getRegionListString() {
		return regionListString;
	}

	public void setRegionListString(String regionListString) {
		this.regionListString = regionListString;
	}

	public EventTypeTable getFirstEventType() {
		return firstEventType;
	}

	public void setFirstEventType(EventTypeTable firstEventType) {
		this.firstEventType = firstEventType;
	}

	public EventTypeTable getSecondEventType() {
		return secondEventType;
	}

	public void setSecondEventType(EventTypeTable secondEventType) {
		this.secondEventType = secondEventType;
	}

	public List<AttachmentTable> getAttachmentList() {
		return attachmentList;
	}

	public void setAttachmentList(List<AttachmentTable> attachmentList) {
		this.attachmentList = attachmentList;
	}

	@Override
	protected Serializable pkVal() {
		return this.baseID;
	}

	@Override
	public String toString() {
		return "EventTable{" +
			", baseID=" + baseID +
			", primaryEventTypeFirst=" + primaryEventTypeFirst +
			", primaryEventTypeSecond=" + primaryEventTypeSecond +
			", primaryEventGrade=" + primaryEventGrade +
			", fax=" + fax +
			", feedBackUpToTime=" + feedBackUpToTime +
			", associatedRisk=" + associatedRisk +
			", unitSystemDescription=" + unitSystemDescription +
			", primaryJudgment=" + primaryJudgment +
			", measureToken=" + measureToken +
			", itemsAdvise=" + itemsAdvise +
			", remarks=" + remarks +
			", enclosure=" + enclosure +
			", influenceHarm=" + influenceHarm +
			", regionIDs=" + regionIDs +
			", industryIDs=" + industryIDs +
			", infrastructureIDs=" + infrastructureIDs +
			"}";
	}
}
